@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} T12 |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8}44)?Ң794q484 4 \`).(8 @ ҩb \Lb`hKc!^z,}BJJzjeH^ 4794q484 4 \`).(8 @ ҩb \Lb`hKc!^z%&DTFDLIPCIOPPDCIV1V2V3.} dD }( POKEY PLAYER DEMONSTRATIONA by Craig C/}hamberlainD n';@,6.SCIPIO' Bs8;@3,$-@@3("467,.>:,8 t?AP:C0}:,'AV,?AC:,&AV$F:A,xm +@76-F:A`,%AV$F:Aa,%@C6-A7UA1}i-@Am (@#(@ ANTIC.(@A(@ THEV(@ ATARIn(@2} RESOURCEy(@(@ PRESENTS...t-@?@+A/ C-@AG 3}d-@6?@pAt A )-@A- C(@>:A%,`(@4} POKEY PLAYERr-@@(@a(@ music1(@ utilityE(@ for[(@5} atariu(@ computersA6@F:, @AeA@F:, @6}AuA@F:, @AA@F:, @A,A @,F7}:,"@AT +@A@*(@I(@ JOYSTICK EDITINGT(@F:, @A8}A(@ RANGE OF6(@ EIGHT OCTAVESA(@F:, @A%[(@ PIANO AND5(9}@ GRAND STAFFP(@ NOTE DISPLAY[(@F:, @A5?(@ AUTOMATIC4(@:} NOTE DECAY?(@F:, @AE?(@ TEMPO CAN4(@ BE CHANGED?(@F:, ;}@AU=(@ PERCUSSION2(@ FEATURE=(@ F:, @Ae(@ REPEA<}TSF:,@Au\ +@A@*(@J(@ AND BEST OF ALL,\-@@=}F:, @A"(@POKEY 'F:, @A,K(@PLAYER"(@3(@ G>}-@APK 6*@@g*-@A". A*@@eU-@A"Y l*@@x?}-@A" @C(@ PLAY ,-@A"0 C(@MUSICEF:, @A%J@}(@ WITH ,-@A0 C(@ BAW-@@P[ n(@SIC -@@A} Ob(@PROGRAMS--@A1 J(@ RUNNING ^-@Ab T?(@AT B})-@@`- ?(@THE YF:, @AE^(@ SAME cF:, @AUh(C}@TIMEmF:, @Aer1F:,"@'AF:@ ,1 Ap|= +@-@@+D}A@=BBAF:, @A(@atari F:, @A(@ATARI E}F:, @A(@atariF:, @AR-@@#-@6(@atF}ariJ-@@N R [ -@@6@,-@?(@ATARIS-@@W [ G}R-@@#-@6(@atariJ-@@N R F:,"@A%W +@AH}@1-@@E(@THAT'SW-@@F:, @A5'(@ALL,'-@I}@F:, @AE/(@FOLKS!+-@A/ A -@6?%,AJ}0 A6-?:%AV,=-@AP %+9-@@= % D:WELCOME kk72,138,72,152,72,165,K}20,168,170,169,184,140,10,212,140,22,208,142,23,208,200,202,56,233,1,208,240,104!168,104,170,104,64))PPDEMO by CraigL} Chamberlain 5/29/85`ma&;@4,;A,;@,/6-C:,X6."hBhEhDhIhH Vԩ`a6-C:,amoo6.M}ehhhhhhhhh hh 66J <(E$% ]L\hhhhbmss67A,.`N}h'*3!$0ȝ$-0`h  \`Iة2ҭ=cmss67A,.`ҭAҭ>O}ҭBҭ?ҭCҭ@ҭDҭEҢ `l˽!*!0 A)dmss67A,.`A` c f)ɀP})F}$$)ڨ6! ͹ΥJJJ) A*NN}$$emss67A,.`-A}'= ia͍@Q}-)ɠ$2 -) A)*˝̝`)x33 fmss67A,.`˽` f- f0` f3˝R}̝` f'` ˙6e˅ː`( fgmss67A,.``0 fE`8 f`@ f$`` ,AOdyS};W)Ky!u9Qea =Q1ehmss67Ax,.`=*ꪢbʢzKTTD4ĔDh(HT} imss67At,.`!#&'*,/258;?CGLOTY_djpw~ !#%(*-/259<@DHLQU[`U}flryntzjm;67Ap,.>:AU,;67Aq,.W[aflsykm]-@BYA%F:C:+ V}$0lll`,%,] tma 6.D:67@,.267B:,%@,..VD@ea@W}@um]-@$)@1)@A6-%AV$M"T;,]6-C:,vm"@X};,6-C:,wm"@;,6-C:,xmI6-?:<<,!A') ERROR 4@F@e@IY}ym]6-?:%@<<, '@9@e@M-AAY] zmA>6-?:<%A<%Aa<Z}%Ag<%A<%A,A$}m77POKEY PLAYER - ANTIC VERSION by Craig ChamberlainD:PPDEMOitId}@e@@@ D:WELCOME.DATJ A0j@ \}@K:w;@@,} }n&@0* & AxC# (press any key to continue)&(3)@ ]}9(}C A?@)@&@8@e@?(}%D:PLAYER""WELCOME by Craig C ^}hamberlain D:WELCOMEd}@e@@@ D:WELCOME.DATJ A0j@ REVISED POKEY PLAYERby Craig ChamberlainCopyright 1985 Alliance SoftwareWelcome to the Pokey Player musicsystem from AN`}TIC, THE ATARIRESOURCE. This disk contains 50public domain songs that can bemerged with your BASIC programs,programs to a}create new PokeyPlayer songs, and text files thatexplain in detail the musiccreation and merging process.Also included ib}s a Player programand a demonstration of musicmerged with a BASIC program.*First published in 1982 in issue#34 of the nc}ow defunct SoftSidemagazine, Pokey Player wasoriginally developed as a utilityto add Donkey Kong type music togame prograd}ms. The editingprocess was not the easiest touse, but it was deemedsatisfactory, since it wasexpected that only short soe}ngswould be created.Nevertheless, the feature of beingable to merge music with BASIC wasignored, and people used the Pokf}eyPlayer system to edit and playlonger songs, even the firstmovement of Bach's FifthBrandenburg Concerto!*Since the org}iginal publication ofPokey Player, the programs anddocumentation have been updatedseveral times, but the features ofmemorh}y efficiency and being ableto merge songs with BASIC havebeen retained. By the way, PokeyPlayer song files are so compacti}that on average they take just afraction more than one byte pernote.Hopefully with this new release byANTIC, the Pokey j}Player musicsystem will now be used for itsoriginally intended purpose.*The front side of this diskcontains the Player k}programand the 50 songs. Use this sideif you only want to playPokey Player songs.Also included is the programAutoplay,l} which can be set to playall the songs on the disk. Thiswill take 1 hour and 17 minutes.Finally, this side of the disk hm}asa program which is an example of asong merged with a BASIC programso that the screen display changesin time with the mun}sic.*The other side of the diskcontains the text files and theprograms for creating new songs.Part One of the documento}ationintroduces the Pokey Player musicsystem and tells how to use thePlayer program.Part Three describes the musiccreatp}ion process in general, whileParts Four, Five, and Six describethe individual programs Editor,Compiler, and Vmerge.*Parq}t Seven describes advancedfeatures of Pokey Player, and PartNine tells how to use the Dynabyteprogram.Part Ten explains r}how to merge asong with a BASIC program. Due toa lack of free sectors, this onetext file is on the front sideof the disks}.An example compilation report anda tempo chart for reference arealso provided.*Parts Two and Eight of thedocumentatit}on explain beginningand advanced music theory. Theseparts are needed only if you wishto create new songs and you needto u}learn about music notation.They are not included on the diskbecause they require illustrationswhich cannot be included inv} a textfile, and because there was notenough room on the disk.If you wish to obtain the missingdocumentation Parts Two aw}nd Eight,send $5.00 to Antic and requestthe Pokey Player Documentation.*There are now over a hundred songsavailable forx} Pokey Player.Additional music, includingcontemporary songs and otherpieces not in the public domain,are available from Ay}CTION ANNEX,the 24 hour Atari Music andGraphics BBS, (206) 892-8969(WA state).This concludes the Welcome file.We hope yz}ou enjoy Pokey Player. Craig Chamberlain Harry Bratt(press any key to continue)em from ANs"#N^PPPCIOCIRFBUFFBUFLH |} dJ + 1 POKEY PLAYER - ANTIC VERSIONJ by Craig ChamberlainnA$ }}   ASET TABS FOR TITLE COLUMNSx@;A,6-C:,@RELOCATEABLE PORTION OF POKEY PLAYERyo~}o6.ehhhhhhhhh hh 66J <(E$% ]L\hhhhzuu67A,.}bh'*3!$0ȝ$-0`h  \`Iة2ҭ={uu67A,.bҭA}>ҭBҭ?ҭCҭ@ҭDҭEҢ `l˽!*!0 A)|uu67A,.bA` c f)ɀ})F}$$)ڨ6! ͹ΥJJJ) A*NN}$$-}uu67A,.bA}'= ia͍}@-)ɠ$2 -) A)*˝̝`)x33 ˽~uu67A,.b` f- f0` f3}˝̝` f'` ˙6e˅ː`( f`0 fEuu67A,.b`8 f`@ f$`` ,AOdy};W)Ky!u9Qea =Q1e=*ꪢbuu67A,.bzKTTD4ĔDh(H} !#&'*,/ee67A,.R258;?CGLOTY_djpw~ !#%(*-/259<@DHL}QU[`flryntz;67Ap,.>:AU,;67Aq,.W[aflsyO-AAH"!% O}NONRELOCATEABLE PORTION OF POKEY PLAYERkk12,24,36,48,244,232,220,208,1,2,3,4,5,6,7,0,255,254,253,252,251,250,249,108,2,6},108,4,6,108,6,6,160,0&&177,203,230,203,208,2,230,204,96\;@4,96."hBhEhDhIhH Vԩ`B6-C:},\ML ROUTINE FOR FAST I/O=;@@,;@,=FOR REQUEST INPUT AND FILENAMESK;I:,&A,$6-C:,}KBUFFER FOR SONGS OF VARIABLE LENGTHS;@@d'B7t@d;DISABLE BREAK KEY%@e%FOR }QUIET I/O< A0@@D:*.V<6-[@)7@<@,4 C 7@<@},Q6-%@[ A@  2"/ NO MUSIC FILES ON THIS DISK2 ,& A  YO}UR REQUEST#& 6? 4 >:A%,! A?NEW DIRECTORY IF NULL INPUT@| 6.D:67@,.367B:,%@},.*.VP@@|BUILD FILENAME AND PREPARE TO READ VOICESJ7 6-7START LOADING VOICES AT BEGINNING} OF BUFFERT/-@/LOOP FOR THREE VOICES^C)@)@-6-%AV$CGET LENGTH OF VOICE}hh6-?:<<,!A'(A3@= AhREAD VOICE INTO BUFFER, HANDLE I/O ERRORr;6-?:%@<<},;TELL POKEY PLAYER WHERE VOICE IS|7 6-% 7ADVANCE BUFFER POINTER FOR NEXT VOICE4-AA#}' 4INITIALIZE+ A +PREPARE TO PRINT TEXT LINESC@  ACLOOP TO PRINT TEXT LINES UNTIL} EOFA #F:A,A6AAHANDLE ERROR OTHER THAN EOF A@t>6-?:<%A<%Aa<}%Ag<%A<%A,tINSTALL INTERRUPT PATCH AND INITIALIZE POKEY PLAYER%A6@%START PLAYINGW}F:Ad,AU*AdAU<A6WSTOP PLAYING IF KEYPRESS2F:A6,A`2LOOP UNTIL STOP} PLAYING:6-?:%AV,:REMOVE POKEY PLAYER INTERRUPT PATCH A_F:A,"Ap3 I DON'T KNOW THAT} SONG6 A@K A_IF FILE NOT FOUNDU ERROR F:A,+@A=B7tAO@e@}RU))PLAYER by Craig Chamberlain 5/28/85D:PLAYER Cz@$ SCCCCCCSCCCC@%DkCCCDCDkCCCD% CSCCCCCCSCCCC;x}@$c[k+[[k+k+[[[k+[[k+k+[@8C KSSKSSCDSDC KSSKSSC cD C KSSKSSCDDC K}SSKSKC CD K[k+[[k+k+[[[k+[[k+k+[x CRK kCKKR"RRJzRRJRRJ(?:RR"RZ ZR"RZ (@jRRJR"jBbJR(AB3KR"RR(BJzRRJRRJ:RR"RZ(C ZR"RZ jRR9}2 J(D " J*jRj JBBR(E"R RJr2 zj(F   JRZZZZB (GJZbbJZbBjZbbJZbB(HjZjZJZjBbZjZJZjB(IZZZbRZZRbZZbRZZ9}R(JjRJ"JRJbjRJ"JRJb(KjZjZJZjBbZjZJZjB(LrZZbRZZRbZZbRZZR(MjbZbJbZBjbZbJbZB(NjjbRJjbBZjbRJjbB(ORZZbRZZRbZZ9}bRZZR(PjRR*JRRZjRR*JRRZ(QjbjRJbjBZbjRJbjB(RjbZZRbZRZbZZRbZB(SRZjRRZjBbZjRRZjB(TjbZbJbZRZbZbJbZB(URZjRRZj9}BbZjRRZjB(VrZZbRZZRbZZbRZZB(WRbjJRbjBZbjJRbjB(XjZbZRZbJbZbZRZbB(YJbjRJbjBZbjRJbjB(ZjbZZRbZRZbZZRbZB([R9}ZjRRZjBbZjRRZjB(\jbZbJbZRZbZbJbZR(]ZRb:JRbZZRb:JRbZ(^RZjbJrZZRjbZRZjb(_RZZbRZZRbZZbRZZR(`jRJ"JRJZrRJ"JRJZ9}(aRZZ:JZZZZZZ:JZZZ(bRbJ2JbJZbbJ2JbJZ(cRrJZRrJRZrJZRrJR(dZRbbRRbZZRbbRRbZ(eC{SS#(fS#{ JR(gSRJSCkRRKC(hk9}RRSC;JRSC(i;Sk;CJR(jSS;kS;(kk K3kS;(lkS;kCC(m #CjB*BB"B(nzB*BB"Bj y Z*j:z(ob":zb"RCbBJBRB(pB 9}KC{CSS(qjRZ*j:zb":zb"R(rCbZ ZbRRJRR(sRJ  j  (tbR"b*j:zZRBB(uBRZ*j:zb"RBB(v9}B JZ*j2JR"RR"(w" RJR"zbJRR"(xjR:B  Z Z(y #C{SS#(zS#{SS#({k  (| K;  C(}K B JbJR(~S9}(:RRJRRJ:RR"RZ( ZR"RZ jRRJR("jBbJRS(jRRJRRJ(:RR"RZ ZR"RZ (jRJR JRR"RR(;# ;(k;kCC( #9}C#C(kS;BRRJR(K  ( K;  C(K#S!QQIQQQIQQIQQI(Q!    I!QQIQQIQQQIQQI(Q!    I!QQIQIQ9}QQQIQIQ(I    Q!QQIQQIQQQIQQI(Q!  QQIQQIQ!QQQIQQIQQIQQ(IQQQIQQIQQIQQIQQQI !QQIQQI( !QQIQQQ9}IQQIQQQI !QQIQQIQQQIQQI(Q!QQIQQQIQQIQQQI !QQIQQIQQQIQQI1(! Ay Ay Ay A(i A q A q A 9}q A (iA yA yA yA (i I i I i I i I (aYi)! !aY!)9yaYi)! !aY!)9(qqYq19} qYq1YY!YY!(  0`!aY!) !aY!) 8pYY9IYYY(}  (PC(CS JB IS (+9}(CS KS (\D(DkSS({ (K (S(((( (((((( Z*j:z(cK [ ((CSSK KS(S9}2 Z*j:z(cK [ ((SSK KS(S+KSSSK((K(S((((((cc(cC[(C [Cc(CcC[(c#9 }c(# [[((((((((((((((( 8p(((((  (P(((( ,X  0` 9!} 4h(  (P ,C{SS#(S#{SS#(k  ( Kk  #(k#SRRJRRJR(k  ([cKR K2B(  0`JB BJBbB 8pKCS9"}C(m(xBRANDENBURG CONCERTO NO. 5FIRST MOVEMENT (ALLEGRO)J.S. BACHCOURTESY ROBERT HIGGINS#Sk+;c( j"RZ Z: "RZ Z: (!8` 8p@$+CCCCCCCDd$|TT$lE =d Ld\D k{CC[C&@.DDDDCCCCDTT%SSL|l,x0  (P@$ DCDCD@DCCDDCDCDx0  (P,D,T\DD ,\TDDDI2},T[CCKLD,TܔxBLUESCRAIG CHAMBERLAIN0  (P@$ DCDCD@DCCDDCDCDx0  (P,D,T\DD ,\TDDDH)L@$(dx (+bS#CC( BS#c#(SBS[Sc(M4}KbS#C( BZRRJRR"(: BbRJRRJ(: BzRJRRR"(j J*Z:bZjbZ( ;Cc#CC( C[CC( C[C[( S{[;( ZjbZ"*Z:b(M5}JbZjb"*"b:Z(ScJ*"{C(:BRRJRRRL@"(CbS#Cc(KbS#Cc(KB K3[[("bZjbZZ(C C Cb(C C Cb( s[K{M6}(Z KC(bjZb"*"b( ZjbZ"*Z ([c[ (c[[ (c[[ (cSSK( #kC{C( jBRRJRRRL(dx (z B*RRJRRR(J B*RM7}RJRR"(j B  Z:(  JbZ Z;(BS;c[(RS;[c(RS#{(C "bZj*jR( R"*"bZjb" ( j*"ZbZj( j*"ZbZj ( 2M8}"bZZrZ ( KcC[kc(;#Cck[(2Z: ZjbJ (j"  @.(bJBR ( JBR  (bJR*jRJrJ(R (BbB B K(bBM9} B (BRJr:bJZ  r(  JZbb;(C#ckC(kC(j*"ZbjZZb(R2"bZZr2rZ(R"*"bZjb2rZ(Rb ZbRJ(RZ RZM:}Z ( j"  (dxGOLDBERG VARIATIONS ONEJ.S. BACHCOURTESY ROBERT HIGGINS (+bS#CC( BS#c#(SBS[Sc(LO|  0`ۛS㣫ÛSۛDĕDD%DۛSۛS㣫ÛS󳛄ÛDK뫛ҒҢTxQ<}%FEEdDmVxVFۛÀSۛÀUS㣛U$@:ϏϏπ ÀۛӣۛÀCӣQ=}>xPRELUDE IIJ.S. BACHCOURTESY JERRY BRADY%DۛSۛS㣫ÛS󳛄ÛDK뫛ҒҢTxP-  (P@$xT  (PʀCBZb"ʀCBbZ"ۛ㣛J Z*j2rb"R JZ*j2rb"R*b*j:z*jU?}:zb":zZRZRBBRZ:zZ:z*j#S:bZZ ʀCBZb"ʀCBbZ"ۛ㣛J Z*j2rb"R JZ*j2U@}rb"R*b*j:z*j:zb":zZRZRBBRZ:zZ:z*j#S;{kʀCBbZ"ʀCBbZ"jBRJRRJRJRRR"RRJRR"RRJRSUA} SSCj"  SKSSSKSSKSSSKSSSSK#SBRRˑё#ScɉIS[R  J k[c:zjRJRщʀCBbZ"ʀCBbZ"jBUB}RJRRJRJRRR"RRJRR"RRJRS SSCj"  SKSSSKSSKSSSKSSSSK#SBRRˑёQ#ScɉIS[R  J k[cDx+ UC} (P(bZb"(C+k( "bZ"(C+k("  (ZbZ (R (bZZ ( щJK( C( 뉉K( K(  J(S[ (UD}J(S[(R (kJ ( Z  (ɉD( :Zb"(C+k( "bZ"(C+k("  (ZbZ (R (bZZ (ёRK(C(뉑UE}RK( K(!ёQ#("S[ (#ɉI($S[(%R (&kJ (' Z  ((ɉD() bZZ(*ɉI(+B ZZ(,ɉI(-B (.B"RR(/BUF}(0BJR(1Bj2j:j(2:j:r:j(3 JZ  (4ɉC(5*j JZ(62rb"R(7 Zj Jb(8:zZJ (9 Z*j(:2r*jZ(;bj JR(<"RRJR(=JUG} Jj*(>R2 b(?jR"r2(@R* Z(Ajb JRJ(BRRJ(CB:jZ (DɉD(G  ZZ(HɉI(IB ZZ(JɉI(KB (LB"RR(MB(NBUH}JR(OBj2j:j(P:j:r:j(Q JZ  (RɉC(S*j JZ(T2rb"R(U Zj Jb(V:zZJ (W Z*j(X2r*jZ(Ybj JR(Z"RRJR([J Jj*(\R2UI} b(]jR"r2(^R* Z(_jb JRJ(`RRJ(aB:jZ (bɉD(xSIX LITTLE PRELUDESPRELUDE NUMBER SIXJ.S. BACHCOURTESY ROBERT HIGUJ}GINS  (P@$xT  (PʀCBZb"ʀCBbZ"ۛ㣛J Z*j2rb"R JZ*j2rb"R*b*j:z*jT{  @@$ C @[C CӒۋD @C@KC C CCCKCCC CKCCCCC@ @K CKCCC C@K CKCCCC@CCCCCxYL}NtDDDDDD @l K K [+KK[ @$ @LDD DLDDD DlDD LDDD DDDD$DDDDDDx ܊ʛī ңě# ČYM}ˀL܊ʛīˋģ3ڄڄӒӒMěӒӒU„܊ʛīExPRELUDE IN YN}B MINOROP. 28, NO. 6FREDERIC CHOPINCOURTESY JERRY BRADYC CCCKCCC CKCCCCC@ @K CKCCC C@K CKCCCC@CCCCCxX;  0`,cLSk+;Dk+;DlcLSk+;Dk+;Dk+;DlcLSk$Sk$Sk$SDD@5CDCDTCDCDTCC C]P}LC,ClC CLC,CdCLCCLCCTCCLCCCDC CLC CLC  0   0`DCCClC CCC|CDCk+;Dk+;DlcLSk+;Dk+;Dk+;]Q}DlcLSk$Sk$S;$SDx9  0`cC+C[l+CC+C[l+Dk CCClC CCC#TLT##TLT#TKSS M M KSS ]R}M L L KSS kS kS k@k CCClC CCCLCdCLC CDCDCLC CDCDCCDCCDC CDCDCDCCTCCTCC  0U  0`]S}C+C[l+CC+C[l+DkDCD LCDCDC CLC C| M M KSS M L L KSS kS kS kSLP6 V BKBMINOR V B OGOTHOS V BYPRESTO V B]SOLDIER V BaCALLIOPEV BcGSONA V BqRIGAUDONV B wSWISS V BCANTATA V BHBDAY V BSABRE V BTHEMEVARV BCAPRICIOV BHOLST V B SCAR V BTPIAM V B CLAV V B HUMORESKV BSCHERZADV BTPIBF V BCOURANTEV BITALIAN V BSCIPIO V B TPIF V B CSONATA V B LITTLE V BSLP1 V B$WILLTELLV B)DMARCH V B-LONDON V B 1SLP2 V B:WSOLDIERV BAFEAST V BGMINUET1 V B.LAUTOPLAY BVzDOC 000  @UT\lDlk |l DlD$l; EUT\lDlk |l DlD$l; ,=D|lDmTd\TL  (P$@$+{@.#{<@2{@.;k@0+#@-c{Ex8  (P @$ @%[@"V@ Exy } (P @0k@+KCCC C C C Eb @"+@'KCCC C C C DTN\ģTE D\ģTEVTEEēTEExSABRE} DANCEARAM KHATCHATURIANCOURTESY JERRY BRADY@0+#@-c{Ex8  (P @$ @%[@"V@ Exy /  0`@$ CɀcSK*{:Z SCɀcSK*{:Zc@"CC‘ɋ{C‰ѓ CCɀcSK*{:Z} @zjb:zZBrZRbZ: J JBjb:zZBrZRbZ: *@"  B JrB JZjb:z}ZBrZRbZ: Jx@$KL# {KS KL# {K+ <@*$DDDDDDDKL# {KS< @% BB } * <@*$DCCDDDCCD R<xq@0,DS<|l K|}~xSCHERHEREZADERIMSKY-KORSAKOFFCOURTESY JOHN W. LUSTHTLTS E L UTED\UT VEETEDLUT f=D\UT>  (P@$x~ 8pm]uҒlҒ lʊkʊD# Ғڒӻ Ғ}ڒӻ3ʊsҒTܜLܜk ʊ#˳ۻL䤜 ܜkʊē Ғē Ғē ҥ}ċڊK3ڒS;Ғ kڒSʊkڊK Ғk⒒SҒsڒSҒڒӻ ҒڒӻҒ}ڒӻ  Ғ|D nx 8p(Ғ(ڒӻ( Ғ(ڒӻ(ʊ(sҒ(T}꒒S(<ꒊS( <ꊒK( 3ڒS<( D\( m( d(](T(e( Ғ(˳۳($䤜(Lܜ}(S ʊ({˳۳($ʊ(ē Ғ(ē Ғ(ē ڒS(;⒒S;ڊK(3ʊkڊK( Ғk⒒S(}Ғ kڒS(ʊkڊK( Ғ(!ڒ("cҒ(#ڒ($CCCCCCC+CCCCCCDTTDDx  @ E}d\DJRl,B J ;RJRRJRR  RRJRRJR  RRRJRRJ   JRRRJRR  RJRRRRJ*RRJRJRRRJ  JRR  ##Sk#TlD}{DRRC D#DRRC D$B"BZ$B$Bb"B"$Bb"B""*\dlRBB[[S#} @QIB*jbZ"bJZB*jbZ"bJ}Zd$DB*jZb"ZRZB*jZb"ZRZBZ   BZ  *jZb"ZRZB*jZb"ZRZRJRRRRLJRRRRJTz Rz  }Jz  Rz  b  JRRJRRRMd\DJRl,B JTSRJRRJRR  RRJRRJR  RRRJRRJ   JRRRJRR  DD}DD DBRJRRRRJ*RRJRJRRRJ  JRR  ##Sk#TlDCDRRC D#DRRC D$B"BZ$B$Bb"B"$Bb"B}""*DD}DDRRJRR  @$QIB*jbZ"bJZB*jbZ"bJZDDxSONATA IN CW.A. MOZARTCOURTESY JERRY BRADYRR@"ZZr  0` ((((((((( ( ( (  ,|( Dۋ(<+;(;jӺz(ˊR’ڊZ(*jRJRRR|(Dۋ }(<+;(# S;k*jS:z(K S;k;T(jҒҒ (RR RR (BRRL2JRT(ċ(Z  JRÓ(C( }F((Ŕ(D ( K (!lS ("D(#k+{;S;($k*jS:zSR:B(% b Z(&S#ӄc('((()4|D(*㓓<(+ +; };(,jӺzӒ;(-KT(.C;k(/C#k (0C#k ,l(1R*"bJz ""b(?Rr "b L|(@D [ (A [(dx<  0`((((((T|D(ۋ<(+;;( jӺzˊR’( ڊR( J}RR Z JR Z(  #l( +kSJRRёё!Q(S(Sz JB J(B JB J,(z Z  Z(;kSJRRёёQ(RRJ  JbRb"R(}:zRb"R" Jj* J(z: Jj* J[ CJ(](Ck(D (K(D|:*RJR*jR(JRRёёёQRRJ  (JbRb"R:zRb"R(" Jj* Jz}: Jj* J(C[R ZBb(BZ BZ ( D K (!|D("c [<(#F($(%E(&('BRR Z JR Z(( RJ bRR Z() RR"RRJR}RRJ J(*RRRDRRJ (+ ZRb"R:zRb"R(," J:z J*j J:z J(-Bb Sk (.C;(/C;(0BB  (1"BRRJRJC#(2ľ}BB J Z  Z(3:jRJRRR"zJRJ(42J  {k(5k;zjSjz(6K RjBS Z(7#(8CC#(9CC#(:lBZ z*:(;c+Ck;(M (? b"JR(@bRRRJZ2c(A BBR(Bj*Rb"R" Jj* J(Cz: Jj* J[Ā(D(dx  0`(}||D(ۋ<(ӻ(jӺzˊR’(ڊ(ʊڊ(ҒґёёёҒʊ (JbRb"R:zRb"R( "} Jj* Jz: Jj* J( +#SKck[( sk+( RRRJ JRR( M(*RJ  JbRb"R(:zRb"R$T(T (;jRJSk [(}jJ   K(SBCBC(BCBC(BRJ  (kkSk(Ck(Bj JB Z( Z  Z*RRJ*jR(JZRR*jD ([  [<(k+{;# }S;(k*jS:zK R:B( Z  ZZRRJ* ( ZJRR*bRJR*( ZRRJb ZRJRR(! Z  Z*RRJRR("RRRɉɉəQJRR (#RZRb"R}:zRb"R($" Jj* Jz: Jj* J(%BRR"j Z RJ b(&RR Z JR Z('#ۋ#(([bj () JRRRJRJ*RRJRR(*RRRɉɉə}QJRR(+BCBCBCBC(,ÄCCC(-RRCJ JR (. JR  RJ (/ RJ  RJ  (0RRRJBZ (1BRJRRJ(2}2JR$ l|(3D [ (4 [D (?D  LRJR(@kkSJ RJ J(AR  JbRb"R(B:zRb"R" Jj* }J(Cz: Jj* J[Ԅ(DN(dx"LITTLE" FUGUE IN G MINORJ.S. BACHCOURTESY ROBERT HIGGINS(ˊR’ڊZ(*jRJRRR|(DۋV  (P@$BbZlBbZlBR Z:bJBbZjRRJRBbZlBbZlBjbCKRB*#C;{;;{[SS#;{c#SS [#k#SkBD@5}BbZlBbZlRR Z:bJBZbjRJRRBZjdJbZj J R "jbZ J*Z:b;#c#;{c#SKSs cKc#k k#S} RJRS"bZ jBCCCCB RRJSZZ BBCBBCBBCS*BC KBBC KBBC K KCCBBBBSCBB jBBB+CBB;kCCBBkCCBB CC?}"BkCC+B jBkCCG CCGWOC KCCG CCGWO{GcKGGGCxMARCH OF THE WOODEN SOLDIERSBY JESSELCOURTESY @}ROBERT HIGGINS@$@$C+{;k+C++Cc[CkCk+{;k+C++  @@$DÒSDkT}ҭBҭ?ҭCҭ@ҭDҭEҢ `l˽!*!0 A)|uu67A,.bA` c f)ɀU})F}$$)ڨ6! ͹ΥJJJ) A*NN}$$-}uu67A,.bA}'= ia͍@V}-)ɠ$2 -) A)*˝̝`)x33 ˽~uu67A,.b` f- f0` f3˝W}̝` f'` ˙6e˅ː`( f`0 fEuu67A,.b`8 f`@ f$`` ,AOdyX};W)Ky!u9Qea =Q1e=*ꪢbuu67A,.bzKTTD4ĔDh(HY} !#&'*,/ee67A,.R258;?CGLOTY_djpw~ !#%(*-/259<@DHLQU[Z}`flryntz]67Ap,.>:AU,;67Aq,.W[aflsyO-AAHS"Y] kk12[},24,36,48,244,232,220,208,1,2,3,4,5,6,7,0,255,254,253,252,251,250,249,108,2,6,108,4,6,108,6,6,160,0&&177,203,230,203,208,\}2,230,204,96R;I:,&A,$6-C:,6@@dHB7t@dR AN+(#}POKEY PLAYER by Craig]} ChamberlainK(AUTOPLAYER by Bob RetelleN(a A @eB@@D:*.VN6-^}Z6-@a6.@)7@<@,4 C(7@<@,g67<%@,.7@<@,u6_}-%@6-%@ AC@(( "@(NO MUSIC FILES ON THIS DISKC(,A@ A `}.(YOUR REQUEST 2A4A-Q (6-B:,'@'0AUTO36-G-@@Q A7.a}/( PLAY ALL Y"4Y%(/ A0/V-6-F:@,%F:@,$AV%Ab0(V(!Position cursor and press Rb}ETURN.0/(When done, press ESC./6-%$@ %1T 6-6.6-@%6-F:,16-?%A(QARc}@T(2$)@$"@'A03"AUA%51"@()"@E'6-&@@1 A61d}"@))"@a'6-%@@1 A7Y"@0)"@C%!@3&@ A6-&@ O6-&@Ye} A8Y"@1)"@B% @3%@ A6-%@ O6-%@Y A9 A; )!f}A@T 6-F:,6-J%+A($+ A(,,&+A($+!A',,T AE!!")"A(AFg}h-@@16-%A($+ A(,G67<,.>:&@,M[6-%@d6-F:,h GH6-%@467h}$@&@<$@,.H"@dA0H$6-&@6-F:,$ AJaAR!6-@>(Rei}peat selections NOBK4NOW6-@a A4KG(Repeat how many times#/";6-@G6-j}N-@O_-@46.7$@&@<$@,N-B:,@6@[7<,4 _ P6.k}7@<,Qa 6.D:67@,.367B:,%@,.*.V>@[@@a6-R{-l}@$)@1)@A6-%AV$N6-?:<<,Z!A'fAq@{ A SU6-?:%@m}<<, 6-%$ . AP1(E-AAQU T@( A@^#(#F:A,A6n}A he A @S6-?:<%A<%Aa<%Ag<%A<%A,eA6@r<F:Ad,o}AU*A6<AdAU|F:A6,Ap6-?:%AV,(   6-@( @Pp} 6. AJF:A,"Ap3(I DON'T KNOW THAT SONG6(J!@A@ Aq}(ERROR F:A,1. &}POKEY PLAYER AUTOPLAYER INSTRUCTIONS1(if(^You may play a SINGLE selection by typing r}its title over the default selection of AUTO.i(pp(hOr, just press RETURN to enter the AUTO mode. When asked, 'PLAs}Y ALL?', press RETURN to play ALL then(selections on the disk."(n(GIf you answer NO, you may then select up to 64 t}titles, in any order youqq(hwish. Position the cursor, using the normal cursor keys, over the first letter of the desu}ired title,p ( thenp(]press RETURN. You may choose the same selection more than once. When done, press ESC to playv}$L( your selections.(<((press any key to continue)?(L)@.SS(K}You may REPEAT your selections by anw}swering YES when asked 'REPEAT?'.8q(n(cEnter the number of times you want the songs to repeat. A value of 1 will x}play through ONCE!q(B>8(0A repeat value of 0 will repeat endlessly.;(>(F ((press any key to begin)#(0)@y}<6-@F A D:AUTOPLAYBUFINDEAUTULLOLNSTRPTIMEHAU/ENHANCED POKEY PLAYERDOCUMENTATION PART TENby Craig ChamberlainADDING MUSIC TO A BASIC PROGRAMAny Pokey Player song {}can be added to an Atari BASIC program. Even better, the song can play while the program is running. This feature of simult|}aneous music playing and program execution is perfect for applications such as games and educational programs. You can have }}music accompany a title screen, or play in the background while a game is in progress.HOW IT WORKSEvery sixtieth of a seco~}nd, an "interrupt" is generated within the computer. This interrupt causes BASIC processing to be temporarily set aside and }allows the computer to do some necessary housekeeping chores. These activities include monitoring the keyboard, reading the }joysticks, updating screen colors, and so on.Once these things are done, execution of the BASIC program resumes. Since the} continual interruption to BASIC is done sixty times a second, it is so fast that it is not noticeable. The interrupt proces}sing is said to be "transparent" to the BASIC program.If desired, a "patch" can be installed in the interrupt routines to p}erform additional processing every sixtieth of a second. Pokey Player simply adds a patch for a routine that produces music.} The result is that the music playing seems to happen at the same time as program execution, yet it is virtually independent} of BASIC. The only drawback to this method is that the additional time allotted to Pokey Player execution causes the BASIC }program to run just a little slower.MERGING POKEY PLAYER WITH A PROGRAMIt is very easy to add Pokey Player to an Atari BAS}IC program. All you have to do is enter the following line: ENTER "D:PLAYCODE.LST"The file PLAYCODE.LST is stored in LIS}T format so that it can be merged with a program by the ENTER command.The lines that are merged to the program form a subro}utine that can be called by the program to load a Pokey Player song and get it ready for playing. The lines are numbered sta}rting at 28000 so that they will be out of the way of your program.LOAD AND PLAY PROCEDUREA few lines must also be added t}o the main part of your program, to load and play a song. The procedure is very simple and consists of the following steps:} 1) load the song and install the patch for Pokey Player 2) start playing the song 3) when the song ends, remove the inter}rupt patchTo accomplish the first step, you must specify a filename. At the beginning of the program, dimension the string} variable F$ for a length of 8 and assign to it the name of the song you want the program to play. Do not include the .V ext}ender as part of the filename. Then call the subroutine at line 28000. Here is an example that would load the song BLUES.} DIM F$(8):F$="BLUES":GOSUB 28000When the subroutine at 28000 is called, it dimensions the string variable PP$. PP$ is the}n assigned a string that is actually the relocateable portion of the Pokey Player machine language code. The reason it is st}ored in a string is to guarantee that the machine language resides in some protected free memory.After that, a loop is exec}uted to copy the non-relocateable portion of Pokey Player to page six.Next the subroutine dimensions the variable D$ and as}signs it the filename, opens the song file, dimensions the variable V1$, and reads voice 1 from the file into V1$. This is r}epeated for voices 2 and 3, using the variables V2$ and V3$, and the file is then closed.Finally the subroutine executes a }USR call to initialize Pokey Player and install it as part of the normal interrupt processing. The song is now ready to be p}layed.START AND STOP PLAYINGLater in the program, when it is time to make the song start playing, simply POKE location 153}6 with a nonzero value, such as 1. The music will begin, and BASIC will continue with the next statement after the POKE.Lo}cation 1536 acts as a start/stop control for playing. At any time it can be poked with the value 0 to freeze the playing. I}f you do this in the middle of a song, you may also want to poke the volume down in case the playing stopped in the middle of} a note. This can be done by the following line: FOR K=53761 TO 53767 STEP 2:POKE K,0:NEXT KThe playing can be restarted} by poking the location with a 1 again.The HLT command, which must be placed at the end of a song, works by setting the val}ue in location 1536 to 0. That is what causes the playing to halt at the end of a song.The BASIC program can detect that t}he playing has ended by peeking location 1536. If the peeked value is 0, the Pokey Player has reached the HLT command.If y}ou would like the music to pause at certain places, you can place HLT commands at the appropriate places in the music. The B}ASIC program can determine when the playing has temporarily stopped, and can make it continue by poking 1536 with a 1. Just }be careful not to try to make the playing continue after the end of a song. The results are unpredictable.When the playing} is finished, it is necessary to remove the patch to the interrupt routine. This is accomplished by the following statement:} U=USR(PP+156)It is very important that this statement be executed once before the program ends. Failing to remove the p}atch, or attempting to remove the patch when it is not installed, may cause a system crash. The keyboard will lock up, and t}he screen may go berserk. If that happens, you will have to turn the computer off and back on again.REPLAYIt is possible }to play again a song that is in memory. To do so, you must reset the address for each voice, and re-install the interrupt pa}tch. Then you can start the playing with a POKE 1536,1 and remove the patch with a U=USR(PP+156) at the end of the song.Us}e this USR call to set the address of a voice: U=USR(PP+94,voice number - 1,voice address)To set the address of each voic}e, the program should execute these statements: U=USR(PP+94,0,ADR(V1$)) U=USR(PP+94,1,ADR(V2$)) U=USR(PP+94,2,ADR(V3$))}To re-install and re-initialize Pokey Player, the program must execute this statement: U=USR(PP,PP+180,PP+261,PP+467,PP+813},PP+619)The song is now ready to start playing by a POKE 1536,1. Remember to use the U=USR(PP+156) when the song is done.}The above procedure must be followed in order to replay a song. You cannot just call the subroutine at 28000 again. This s}ubroutine dimensions a few strings, and calling it again would cause a redimension error.To see how the above statements ar}e used in a program, look at the listing for the PLAYER program. Most of the lines in this program are commented for your co}nvenience.MULTIPLE SONGSIt is also possible to hold several songs in memory at once. You can either dimension a new strin}g variable for each additional voice, or just dimension one string large enough to hold all the voices, and remember the addr}ess where each voice is stored in the string. Again, the comments in the PLAYER program may be helpful.TEXT LINESThere ar}e text lines stored in each song file after the third voice. These lines are used to give the song title and to credit the c}omposer and the person who entered the song. The lines are not accessible when you use the subroutine at 28000, but you can }use the alternate method used in the PLAYER program. The lines are printed by setting a TRAP and then looping to INPUT from }file #1 and PRINT until an end-of-file error occurs.USING FLAGS FOR SYNCHRONIZATIONOne last feature of Pokey Player is tha}t it provides a way to synchronize a BASIC program with a song, so that screen displays can change in time with the music. T}he PPDEMO program is an example of a program that uses this feature.The synchronization is accomplished by embedding FLG (f}lag) commands at the desired places in the song, along with the notes and other commands. Then, while the song is playing, t}he BASIC program can detect when the playing has reached a FLG command. All the program has to do is wait until the playing }reaches a FLG command, and then change the screen.To enter a FLG command, press the F key in the Editor when you are editin}g the song's source file. The Editor will prompt you for a number from 0 to 255. Select any number, and press the Return ke}y. Continue entering notes, and possibly other FLG commands at different places, with different numbers.When the song is c}ompiled, merged, and played, the BASIC program can watch for a flag by continuously peeking location 1537. This location ini}tially has the value 0, but its value is changed to the flag number whenever a FLG command is processed in the music. So, if} you enter a FLG 2 command at the place in the music where you want the screen to change, the program can keep looping on one} line until the value in location 1537 changes to a 2, and then change the screen.The FLG command has no effect on the musi}c. All it does is cause the specified number to be stored into location 1537, so that the BASIC program can peek it. The mu}sic continues playing normally after the FLG command.The Compiler uses the name PPSTAT (status) for the FLG command in the }compilation report.Since the FLG command is entered from the Editor, you must have source files for the song you want to us}e for synchronization. There is no way to directly add flags to a .V file.See the program PPDEMO for an example of how sev}eral flags can be detected. In that program, the variable F is assigned the value 1537 to make it easier to watch for flags.}WARNINGSPokey Player uses page six memory from locations 1536 to 1648, and page zero locations $CB through $CF. You shoul}d not use Pokey Player with other utilities that use these same locations.Also, you should not use the immediate mode while} Pokey Player is playing music or while the patch is installed. The main part of the interrupt patch is stored in PP$, and A}tari BASIC moves strings around in memory when lines are typed in the immediate mode. Moving PP$ while it is part of an inte}rrupt routine will certainly cause the computer to hang. Therefore, if a program stops while the music is playing or the pat}ch is installed, due to an error or otherwise, press System Reset. This will remove the patch and prevent the computer from }crashing.(Editors Note: Congratulations if you've made it through each of the sections of Pokey Player. You'll find it s}imple to add music to your BASIC programs. That is what Pokey Player is designed for. Have Fun.However, we've got a chall}enge for you hard-core music nuts. If you start doing a lot of music editing, inputting and composition, we'd like to hear f}rom you. Send your new music to the Catalog Manager at Antic (524 Second St., SF, CA 94107). If it's good enough to add to}33>006cco><66>333`>?ll 3333c>ccc6<cckwccf<6ccc6 ?f 3~@`0 xx6c